// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import iView from 'iview';
import App from './App'
import {router} from './router/config'
import axios from "./libs/axios";
import httpClient from "./libs/httpClient";
import store from './store/index'
import 'iview/dist/styles/iview.css';
import '../src/assets/scss/common.scss';
import '../static/plugins/UE/ueditor.config.js'
import '../static/plugins/UE/ueditor.all.js'
import '../static/plugins/UE/lang/zh-cn/zh-cn.js'

Vue.use(iView);
Vue.use(axios);
Vue.use(httpClient);
Vue.config.productionTip = false;

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store: store,
  components: { App },
  render: h => h(App),
  template: '<App/>'
});
Vue.filter("dateFormat", function (value,str) {
  if (str) {
    return moment(value).format(str)
  }
  return moment(value).format('YYYY-MM-DD');
});

Vue.filter("icons", function (value,str) {
  let type;
  if (value) {
    switch (value) {
      case 'zip' :
      case 'rar' :
        type = 'fa fa-file-zip-o';
        break;
      case 'txt' :
        type = 'fa fa-file-text-o';
        break;
      case 'docx' :
      case 'doc' :
        type = 'fa fa-file-word-o';
        break;
      case 'xlsx' :
      case 'xls' :
        type = 'fa fa-file-excel-o';
        break;
      case 'jpg' :
      case 'jpeg' :
      case 'png' :
      case 'gif' :
        type = 'fa fa-file-image-o';
        break;
      case 'mp3' :
        type = 'fa fa-music';
        break;
      case 'mp4' :
      case 'avi' :
        type = 'fa fa-file-video-o';
        break;
      case 'pdf' :
        type = 'fa fa-file-pdf-o';
        break;
      default :
        type = 'fa fa-file';
        break;
    }
  }
  return type;
});

Date.prototype.pattern = function (fmt) {
  var o = {
    "M+": this.getMonth() + 1, //月份
    "d+": this.getDate(), //日
    "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时
    "H+": this.getHours(), //小时
    "m+": this.getMinutes(), //分
    "s+": this.getSeconds(), //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    "S": this.getMilliseconds() //毫秒
  };
  var week = {
    "0": "/u65e5",
    "1": "/u4e00",
    "2": "/u4e8c",
    "3": "/u4e09",
    "4": "/u56db",
    "5": "/u4e94",
    "6": "/u516d"
  };
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  }
  if (/(E+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[this.getDay() + ""]);
  }
  for (var k in o) {
    if (new RegExp("(" + k + ")").test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    }
  }
  return fmt;
}



